Timm Bäder [Sat, 19 Jan 2019 07:53:08 +0000 (08:53 +0100)]
css: Add transform style property
Benjamin Otte [Thu, 21 Feb 2019 05:27:30 +0000 (06:27 +0100)]
csstransform: Create a GtkTransform
Stop creating graphene_matrix_t's.
Benjamin Otte [Thu, 21 Feb 2019 04:24:11 +0000 (05:24 +0100)]
snapshot: Remove the old APIs
It's all using transforms now.
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
layoutoverlay: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
fpsoverlay: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
widgetpaintable: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
widget: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
treeview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
textview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
stylecontext: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
stack: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
scaler: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
rendernodepaintable: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
rendericon: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
renderbackground: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
picture: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
magnifier: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
image: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
iconview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
iconhelper: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
cellrenderertoggle: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
cellrendererpixbuf: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
calendar: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
puzzlepiece: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 03:24:24 +0000 (04:24 +0100)]
snapshot: Introduce transform APIs
Instead of gtk_snapshot_offset(), provide a full set of functions
kept in sync with GtkTransform APIs.
On top of that, add gtk_snapshot_save() and gtk_snapshot_restore()
mirroring cairo_save()/restore() that allow saving a snapshot's
transform state.
Benjamin Otte [Thu, 21 Feb 2019 02:28:12 +0000 (03:28 +0100)]
snapshot: Remove gtk_snapshot_get_offset()
We use append() functions for everything now, thank you very much.
Benjamin Otte [Thu, 21 Feb 2019 02:26:03 +0000 (03:26 +0100)]
snapshot: Add functions to append shadows
Benjamin Otte [Thu, 21 Feb 2019 02:07:14 +0000 (03:07 +0100)]
snapshot: Refactor text rendering
The code didn't change, it was just shuffled around to make the
with_bounds() versions of the text rendering unnecessary and instead
pass through the generic append_node() path.
Benjamin Otte [Thu, 21 Feb 2019 01:11:13 +0000 (02:11 +0100)]
snapshot: Add gtk_snapshot_append_border()
This is adding functions for the remaining render nodes.
Benjamin Otte [Thu, 21 Feb 2019 00:54:01 +0000 (01:54 +0100)]
snapshot: Store an actual GtkTransform
Instead of just tracking 2 integer translate_x/y coordinates, tracka a
full GtkTransform.
When creating actual nodes, if the transform is simple enough, just
create the node in a way that makes use of the transform. If the
node, can't represent the transform, just push a transform node instead
and automatically pop that node with the next gtk_snapshot_pop() call.
Benjamin Otte [Wed, 20 Feb 2019 23:12:42 +0000 (00:12 +0100)]
snapshot: Remove dead code
Seems to be leftovers from way too long ago.
Benjamin Otte [Wed, 20 Feb 2019 02:02:23 +0000 (03:02 +0100)]
gsk: Remove offset nodes
They were a neat idea while they lasted. But now, it's time for
categorized transform nodes, where matrices with
GSK_MATRIX_CATEGORY_2D_TRANSLATE are the exact replacement.
Renderers have not been adapted for this purpose, so they (continue to)
run slow paths.
Benjamin Otte [Tue, 19 Feb 2019 07:24:59 +0000 (08:24 +0100)]
widget: Store category of widget transform
And pass that category through to the transform node that we create for
it.
Benjamin Otte [Tue, 19 Feb 2019 07:11:42 +0000 (08:11 +0100)]
widget: Make gtk_widget_allocate() take a GtkTransform
We can reason about GtkTransform way better - and determine its category or
do equality checks.
Benjamin Otte [Sun, 17 Feb 2019 11:54:04 +0000 (12:54 +0100)]
gtk: Add GtkTransform
This is a new object (well, boxed type, but I'm calling it object) for
dealing with transform in a more constructive way than graphene_matrix_t
by keeping track of how the transform was created.
This way, reasoning about the transform becomes easier, and we can create
better ways to print it or transition from one transform to another one.
An example of this is that while a 0 degree and a 360degree rotation are
both the identity matrix, doing a transition between the two would cause
a rotation.
Benjamin Otte [Tue, 19 Feb 2019 05:52:36 +0000 (06:52 +0100)]
gsk: Add GskMatrixCategory
We'll use that soon.
Matthias Clasen [Thu, 21 Feb 2019 18:01:31 +0000 (18:01 +0000)]
Merge branch 'key-themes' into 'master'
Key themes
See merge request GNOME/gtk!595
Piotr Drąg [Thu, 21 Feb 2019 17:31:37 +0000 (18:31 +0100)]
Update Polish translation
Matthias Clasen [Thu, 21 Feb 2019 17:29:46 +0000 (12:29 -0500)]
Remove css test for key bindings
Matthias Clasen [Thu, 21 Feb 2019 05:58:30 +0000 (00:58 -0500)]
Drop key themes
These were an abuse of css, and not very successful
as a concept. We are going to replace bindings with
a new way of doing customizable shortcuts.
Matthias Clasen [Thu, 21 Feb 2019 17:18:21 +0000 (17:18 +0000)]
Merge branch 'piotrdrag/rename-gtk-inspector' into 'master'
window: Rename GTK+ Inspector in user-visible strings
See merge request GNOME/gtk!598
Piotr Drąg [Thu, 21 Feb 2019 16:49:03 +0000 (17:49 +0100)]
window: Rename GTK+ Inspector in user-visible strings
Matthias Clasen [Thu, 21 Feb 2019 16:13:53 +0000 (11:13 -0500)]
gtk-demo: Fix fallout from the notebook page merge
I have overlooked a few places where the child properties
were used. Sorry.
Matthias Clasen [Thu, 21 Feb 2019 12:41:50 +0000 (12:41 +0000)]
Merge branch 'piotrdrag/typo-assitant' into 'master'
assistant: Fix typo in a translatable string
See merge request GNOME/gtk!597
Piotr Drąg [Thu, 21 Feb 2019 12:28:37 +0000 (13:28 +0100)]
assistant: Fix typo in a translatable string
Piotr Drąg [Thu, 21 Feb 2019 12:17:04 +0000 (13:17 +0100)]
Update POTFILES.in
Matthias Clasen [Thu, 21 Feb 2019 06:11:50 +0000 (01:11 -0500)]
Add new notebook apis to the docs
Matthias Clasen [Thu, 21 Feb 2019 06:09:09 +0000 (01:09 -0500)]
Add more info to the migration guide
Mention child metas of GtkAssistant and GtkNotebook.
Matthias Clasen [Thu, 21 Feb 2019 05:50:05 +0000 (05:50 +0000)]
Merge branch 'nbpage' into 'master'
Notebook child metas
See merge request GNOME/gtk!594
Matthias Clasen [Thu, 21 Feb 2019 05:29:09 +0000 (00:29 -0500)]
tests: Update property tests
The pages property must be skipped.
Matthias Clasen [Thu, 21 Feb 2019 05:28:47 +0000 (00:28 -0500)]
builder test: Update notebooks
Matthias Clasen [Thu, 21 Feb 2019 05:28:25 +0000 (00:28 -0500)]
css tests: Update ui files for notebooks
Matthias Clasen [Thu, 21 Feb 2019 05:27:04 +0000 (00:27 -0500)]
a11y tests: Update ui files
Notebooks have changed.
Matthias Clasen [Thu, 21 Feb 2019 04:39:01 +0000 (23:39 -0500)]
notebook: Fix up issues with property notification
Matthias Clasen [Thu, 21 Feb 2019 04:05:37 +0000 (23:05 -0500)]
widget-factory: Use notebook pages in the ui file
This is the new way of doing things.
Matthias Clasen [Thu, 21 Feb 2019 04:03:32 +0000 (23:03 -0500)]
print dialog: Use notebook pages in ui file
This is the new way of doing things.
Matthias Clasen [Thu, 21 Feb 2019 03:48:58 +0000 (22:48 -0500)]
builder-tool: Rewrite notebooks
Just like we do for assistant and stack pages, rewrite
notebooks from child properties to child metas.
Matthias Clasen [Thu, 21 Feb 2019 03:25:54 +0000 (22:25 -0500)]
Implement position property somewhat
Matthias Clasen [Thu, 21 Feb 2019 04:02:39 +0000 (23:02 -0500)]
notebook: Fix up ref counting
We need to keep a ref to the page objects.
Matthias Clasen [Thu, 21 Feb 2019 02:46:20 +0000 (21:46 -0500)]
notebook: Add a pages model
Just like GtkStack and GtkAssistant, provide
a list model with the page objects.
Matthias Clasen [Wed, 20 Feb 2019 16:43:15 +0000 (11:43 -0500)]
Allow builder to add notebook pages
Matthias Clasen [Wed, 20 Feb 2019 13:39:21 +0000 (08:39 -0500)]
Turn labels into page properties
Matthias Clasen [Wed, 20 Feb 2019 04:03:22 +0000 (23:03 -0500)]
Add GtkNotebookPage properties
Matthias Clasen [Tue, 19 Feb 2019 23:44:40 +0000 (18:44 -0500)]
Make GtkNotebookPage an object
Matthias Clasen [Tue, 19 Feb 2019 23:28:53 +0000 (18:28 -0500)]
notebook: Rename an internal macro
Avoid a clash between GObject boilerplate and the
GTK_NOTEBOOK_PAGE() macro, by renaming it.
Matthias Clasen [Thu, 21 Feb 2019 02:45:11 +0000 (21:45 -0500)]
assistant: Remove weak pointer in finalize
Otherwise, bad things can happen later, if
somebody holds onto the list model.
Matthias Clasen [Thu, 21 Feb 2019 05:27:51 +0000 (00:27 -0500)]
css tests: Update expected output for entries
Flat is gone.
Matthias Clasen [Thu, 21 Feb 2019 04:20:27 +0000 (23:20 -0500)]
text: Remove has-frame leftovers
Chun-wei Fan [Thu, 21 Feb 2019 02:37:27 +0000 (10:37 +0800)]
testsuite/gtk/singleselection.c: Avoid VLA usage
It is unfortunate that Visual Studio is unlikely to support VLA usage,
so replace it with g_newa().
Matthias Clasen [Wed, 20 Feb 2019 18:10:33 +0000 (13:10 -0500)]
text: Make this a final class
No need to derive from it.
Matthias Clasen [Wed, 20 Feb 2019 18:10:09 +0000 (13:10 -0500)]
search entry: Quiet a compiler warning
Matthias Clasen [Wed, 20 Feb 2019 18:04:16 +0000 (18:04 +0000)]
Merge branch 'wip/jimmac/unbreak-spinbuttons' into 'master'
Adwaita,HC: spinbutton selectors
See merge request GNOME/gtk!592
Matthias Clasen [Wed, 20 Feb 2019 17:02:15 +0000 (17:02 +0000)]
Merge branch 'wip/carlosg/fix-search-entry' into 'master'
Fix search bars
See merge request GNOME/gtk!593
Claude Paroz [Tue, 19 Feb 2019 15:55:22 +0000 (16:55 +0100)]
Updated French translation
Carlos Garnacho [Wed, 20 Feb 2019 15:41:39 +0000 (16:41 +0100)]
inspector: Update callback to GtkText shuffling
Instead of trying to access the GtkText, use GtkEditable API.
Matthias Clasen [Wed, 20 Feb 2019 15:34:42 +0000 (10:34 -0500)]
text: Remove the ::has-frame property
This is purely GtkEntry functionality and should
remain there.
Matthias Clasen [Wed, 20 Feb 2019 15:32:12 +0000 (10:32 -0500)]
emoji chooser: Don't use entry api on search entries
Use editable api, and cut through to the text widget
where necessary.
Matthias Clasen [Wed, 20 Feb 2019 15:29:26 +0000 (10:29 -0500)]
search entry: Add private api to get the text widget
We need this to do some custom setup in the Emoji chooser.
Jakub Steiner [Wed, 20 Feb 2019 13:08:44 +0000 (14:08 +0100)]
Adwaita,HC: spinbutton selectors
- spinbuttons use GtkText for the entry part
- FIXME: vertical spinbuttons need the flat class dropped so we can
extend the entry class easily
Carlos Garnacho [Wed, 20 Feb 2019 11:48:08 +0000 (12:48 +0100)]
eventcontrollerkey: Use run_controllers() API to forward key events
All 3 phases are run ATM, but just on the specific widget.
Carlos Garnacho [Wed, 20 Feb 2019 11:41:00 +0000 (12:41 +0100)]
gtkwidget: Expose gtk_widget_run_controllers() in private header
Allows for more fine grained access than gtk_widget(_captured)_event
which are meant to work across a hierarchy.
Carlos Garnacho [Tue, 19 Feb 2019 12:51:37 +0000 (13:51 +0100)]
gtksearchentry: Forward captured events to the child GtkText
Catch up with the GtkEditable shuffling.
Carlos Garnacho [Mon, 18 Feb 2019 19:00:19 +0000 (20:00 +0100)]
gtksearchbar: Do not handle captured events for unmapped bars
If the bar is currently unmapped, it should not attempt to capture
and handle events.
Related: https://gitlab.gnome.org/GNOME/gtk/issues/1205
Benjamin Otte [Wed, 20 Feb 2019 04:00:13 +0000 (05:00 +0100)]
widget: Mark compute functions as G_GNUC_WARN_UNUSED_RESULT
Lots of code does not error-check these functions, and when we add CSS
transforms, they will start failing. And we want people to check that.
Benjamin Otte [Wed, 20 Feb 2019 03:53:47 +0000 (04:53 +0100)]
gtk: Check return value of compute_bounds()
Half of these calls will completely break if anybody ever uses CSS
transforms with them, but hey...
Benjamin Otte [Wed, 20 Feb 2019 03:07:34 +0000 (04:07 +0100)]
widget: Always set out value
Don't leave memory in an unitinialized case when returning FALSE from
gtk_widget_compute_transform().
We both know that people are going to call that function without
checking the return value.
Benjamin Otte [Wed, 20 Feb 2019 03:05:37 +0000 (04:05 +0100)]
widget: Fail if matrix not invertible
Benjamin Otte [Wed, 20 Feb 2019 03:04:29 +0000 (04:04 +0100)]
widget: Add optimizations to gtk_widget_compute_transform()
Try to catch 2 common cases with as little work as necessary.
Benjamin Otte [Wed, 20 Feb 2019 02:46:28 +0000 (03:46 +0100)]
widget: Clean up gtk_widget_compute_transform()
The code was all over the place and being clear here is very useful.
Matthias Clasen [Wed, 20 Feb 2019 00:29:56 +0000 (19:29 -0500)]
Fix gtk_widget_compute_transform
We were collecting all the transforms from widget
up to ancestor, and then trying to collect the
ones from target to ancestor, but failing.
Benjamin Otte [Tue, 19 Feb 2019 07:09:57 +0000 (08:09 +0100)]
widget: Remove gtk_widget_get_allocated_size()
Use gtk_widget_get_allocated_width/height in the only user (GtkStack),
even though that isn't 100% correct.
Timm Bäder [Sat, 11 Aug 2018 20:19:13 +0000 (22:19 +0200)]
Add test for widget transforms
Benjamin Otte [Tue, 19 Feb 2019 18:15:16 +0000 (19:15 +0100)]
widget: Add gtk_widget_compute_point()
It's the replacement for gtk_widget_translate_coordinates()
Benjamin Otte [Tue, 19 Feb 2019 17:02:46 +0000 (18:02 +0100)]
Remove nonexisting function from header
Timm Bäder [Tue, 19 Feb 2019 07:51:51 +0000 (08:51 +0100)]
widget: Compute child point directly when picking
Timm Bäder [Tue, 19 Feb 2019 07:33:24 +0000 (08:33 +0100)]
widget: Remove unused function
Timm Bäder [Tue, 19 Feb 2019 07:25:49 +0000 (08:25 +0100)]
widget: Avoid some type checks in pick() and contains()
We've already verified that the given pointer is a proper GtkWidget, so
no need to do it all over again.
Timm Bäder [Tue, 19 Feb 2019 07:24:43 +0000 (08:24 +0100)]
widget: Add typecheck-less _is_sensitive
It adds up to a whopping 3% in gtk_widget_pick
Timm Bäder [Sun, 17 Feb 2019 07:47:09 +0000 (08:47 +0100)]
widget: Add gtk_widget_compute_transform
Timm Bäder [Tue, 19 Feb 2019 16:19:23 +0000 (17:19 +0100)]
widget: Use CSS boxes in gtk_widget_real_contains()